# ZZQ
# 生成时间：2021-07-26  10:22

print('1---------------元组的创建方式')
'''
#  第一种创建方式（）
t=('python','world',98)
print(t)
print(type(t))

t2='python','world',98
print(t2)

t3=('python',)    # 只包含一个元组的元素需要加逗号和小括号
print(t3)
t31= 'python',
print(t31)         # 只包含一个元组的元素需要加小括号

# 第二种创建方式
t4=tuple(('python','world',98))
print(t4)
# 空列表、空字典、空元组
a=[]
a1=list()
b={}
b1=dict()
c=()
c1=tuple()
print('空列表',a,a1)
print('空字典',b,b1)
print('空元组',c,c1)
'''
print('\n2----------------元组的遍历')
'''
t=('python','world',98)
print(t[0])
for i in t:
    print(i)
'''
print('\n3--------------集合的创建')
'''
# 第一种创建方式
s={2,3,4,5,5,6,7,7}         # 集合里元素不能重复，不然只输出一个
print(s)
# 第二种创建方式
s1=set(range(6))
print(s1)
s2=set((3,4,53,56))         # 元组转换成集合
print(s2)
s3=set([3,4,53,56])         # 列表转换成集合
print(s3)
print(set(('python')))      # 集合中的元素是无序的
print(set({124,3,4,4,5}))
print(set(),type(set()))                # 空集合
'''
print('\n4-----------------集合的相关操作')
'''
s={10,20,30,40}
# 集合元素的判断
print(10 in s)
print(10 not in s)
# 集合元素的新增操作
s.add(80)               # 一次添加一个元素
print(s)
s.update({200,300,400})   # 一次添加至少一个元素
print(s)
s.update([99,88,77])
print(s)
# 集合的删除操作
s.remove(10)            # 一次删除一个指定元素
# s.remove(500)           # KeyError: 500 集合里面没有，报错
s.discard(500)          # 一次删除一个，集合里面没有元素也不会报错
print(s)
s.pop()                 # 一次删除任意一个元素，不能添加参数
print(s)
s.clear()               # 清空集合
print(s)
'''
print('\n5------------------集合间的关系')
'''
# 两个集合是否相等
s1={10,20,30,40}
s2={30,40,20,10}
print(s1==s2)    # True
print(s1!=s2)    # False
# 一个集合是否是另一个集合的子集
s3={1,2,3,4,5,6}
s4={1,2,3,4}
s5={1,2,8}
print(s4.issubset(s3))  # True
print(s5.issubset(s3))  # False
# 一个集合是否是另一个集合的超集
print(s3.issuperset(s4))  # True
print(s3.issuperset(s5))  # False
# 两个集合是否含有交集
print(s3.isdisjoint(s4))  # False 是有交集
s6={100,200,300}
print(s3.isdisjoint(s6))  # True 没有交集
'''
print('\n6------------------集合间的数学操作')
'''
# （1）交集
s1={1,2,3,4,5,6}
s2={2,3,4,7,8}
print(s1.intersection(s2))
print(s1 & s2)              # 与上等价
# （2）并集操作
print(s1.union(s2))         # 集合会自动删除重复
print(s1 | s2)
# （3）差集操作
print(s1.difference(s2))    # s1-s2减去相同元素
print(s1-s2)
# （4）对称差集
print(s1.symmetric_difference(s2))  # 相同元素删除，剩下合并
print(s1^s2 )
'''
print('\n7-----------------集合生成式')
'''
# 列表生成式
lst=[i*i for i in range(10)]
print(lst)
# 集合生成式
s={i*i for i in range(10)}
print(s)    # 无序的
'''